<?php
/**
 * Created by PhpStorm.
 * Author: ljz
 * Date: 2023/5/11
 * Time: 18:40
 */

namespace App\backend\models;


use App\common\models\BaseModel;
use Illuminate\Support\Facades\DB;

/**
 * Class OrderModel
 * @package app\common\models
 */
class GoodSettingModel extends BaseModel
{
    // 表名
    const table = 'goods_setting';

    public function __construct() {

    }

    /**
     * 查询字段规则
     *
     * @return array
     */
    static public function rules()
    {
        return [];
    }

    /**
     * 添加/编辑 字段规则
     *
     * @return array
     */
    static public function edit_rules()
    {
        return [
            'loading_img_status' => 'int', // 加载图标: 0:系统默认, 1:自定义
            'preview_status' => 'int', // 商品图片预览
            'is_cash_on' => 'int', // 是否货到付款: 1:开启,0:关闭
            'wares_tips' => 'string|max:30', // 商品售罄提示文字
            'stock_warning_num' => 'int', // 库存预警数量
            'stock_warning_status' => 'int', // 库存预警状态: 1:开启 0:关闭
            'is_collect' => 'int', // 收藏功能：1：是，0：否
        ];
    }

    /**
     * 字段验证返回错误信息
     *
     * @return array
     */
    static public function message()
    {
        return [
            'loading_img_status.int' => '是否加载图标数据类型有误',
            'preview_status.int' => '是否添加商品图片预览数据类型有误',
            'is_cash_on.int' => '是否货到付款数据类型有误',
            'wares_tips.max' => '商品售罄提示文字超过最大长度限制',
            'stock_warning_num.int' => '库存预警数量数据类型有误',
            'stock_warning_status.int' => '库存预警状态数据类型有误',
            'is_collect.int' => '是否开启收藏功能数据类型有误',
        ];
    }

    /**
     * 数据库 - 查询商品设置信息
     * @param $where_data array //查询条件 参数数组
     * @return array
     */
    static public function info($where_data = [])
    {
        $query = DB::table(self::table)
            ->select(
                'id', 'loading_img_status', 'loading_img_url', 'preview_status', 'is_cash_on',
                'wares_tips', 'wares_img', 'stock_warning_num', 'stock_warning_status', 'is_collect'
            )
            ->where($where_data);

        $data = $query->first();
        return $data;
    }

    /**
     * 数据库 - 删除/更新商品规格
     *
     * @param $where_data array //查询条件 参数数组
     * @param $update_data array //更新 参数数组
     * @return array
     */
    static public function updatedData($where_data, $update_data)
    {
        $data = DB::table(self::table)->where($where_data)->update($update_data);
        return $data;
    }

    /**
     * 数据库 - 插入数据
     * @param $data //参数数组
     * @return array
     */
    static public function insertData($data)
    {
        $data = DB::table(self::table)->insert($data);
        return $data;
    }

}
